(function($f) {	$f.extend.custom("myPlugin3", "d489b276-ee6b-4be0-98db-df97dfea32bd", function(self) {

	"use strict";
	
	// plugin info
	this.info = {
		title: "My Plugin 3",
		version: "0.0.1", // major.minor.build
		description: "This is loaded dynamically."
	};
	
	// pre-initialization handler
	// called just after plugin instance is created and no features or includes are processed
	// returns (boolean): 
	//	true: if success 
	//	false: if failed
	this.onPreInit = function() { 
		// log
		$f.myPlugin1.lifeCycleElement().append("<p><b>preInit:</b> " + self.info.title + " is instantiated and will be initialized.");

		return true;
	};
	
	// initialization handler
	// called when all includes are processed and features etc. are added
	// returns (boolean): 
	//	true: if success 
	//	false: if failed
	this.onInit = function() { 
		// log
		$f.myPlugin1.lifeCycleElement().append("<p><b>init:</b> " + self.info.title + " is initialized now.");

		return true;
	};

	// load handler
	// returns: (void)
	this.onLoad = function() {
		// log
		$f.myPlugin1.lifeCycleElement().append("<p><b>load:</b> " + self.info.title + " is loaded now.");
	};
	
	// ready handler
	// returns: (void)
	this.onReady = function() {
		// log
		$f.myPlugin1.lifeCycleElement().append("<p><b>ready:</b> Plugin is ready now. " + self.info.title + " will do ready-time processing now.");

		// update list
		$f.myPlugin1.showPluginsList();
	};
}); }(fluid));
